1. The Field of the Invention
The present invention relates to data processing systems. Specifically, the present invention relates to methods and systems for dynamically converting data objects from one format to another format by selectively using an intermediary format during run time.
2. The Prior State of the Art
In the computer age, computer systems play a major role in nearly every aspect of society. Computer systems essentially include a processor which implements a computer program to provide a desired service. In accomplishing the desired service, the computer program includes data that is read and processed as dictated by processor-executable instructions that are also included within the computer program. Even in hardwired logic circuitry that lack a processor, data is input into the hardwired logic to produce a desired result. Thus, the ability to evaluate data is essential to the operation of computer programs and hardwired logic circuitry. In the remainder of this application, the primary focus will be on computer programs handling data though hardwired logic circuitry may also handle data.
Computer programs are configured to operate on data that has a particular format. A “data format” is essentially a set of rules or conventions that define the layout of data fields within a data structure as well as how to interpret the values within those data fields. All useful data is stored in a particular format with the expectation that it will be read by a computer program or a hardwired logic circuit that can interpret that format.
There are perhaps thousands of different data formats in use. Some computer programs will be able to handle certain data format, but not others. It is essential to the proper operation of a computer program that the data be stored in the format recognized by the computer program. Therefore, various data format conversion programs are available so that data may be used by a particular computer program that it would not otherwise be able to use.
For example, data conversion can occur within a single format category such as sound. Certain data conversion programs may be able to convert sound from a “.ABS” MPEG audio sound file to an “.MP3” MPEG audio layer 3 sound file for computer programs that can handle the “.MP3” sound file, but which cannot handle the “.ABS” sound file. Other data conversion programs may convert data format from one format category such as picture data formats to other format categories such as text data formats. Optical character recognition software may, for example, recognize text characters represented within a picture file and convert the recognized text into a text file. Of course, sometimes data conversion results in a loss of data. For example, if the original picture file included graphics as well as text, the graphics may be ignored by the optical character recognition software.
In order to use such data conversion programs, a user typically has to initiate execution of the data conversion program in the hopes that the program will be able to perform the desired data conversion. This takes user effort and can often result in the execution of a data conversion program that is not able to handle the desired data conversion. There is often a single data conversion module that can handle a data conversion from one format to another data format. However, since new data formats are introduced at a rapid pace and since data formats are so numerous, there is often no single data conversion module that can convert data from certain data format into other certain data formats. Therefore, what are desired are methods and systems for dynamically converting data structures from one format to another automatically even when there is no single data conversion module that can perform the data conversion alone.